package 蓝桥杯;
/**
 * 现在市长要把口罩分配给市内的 2 所医院。由于物流限制，每一批口罩只
能全部分配给其中一家医院。市长希望 2 所医院获得的口罩总数之差越小越好。
请你计算这个差最小是多少？
使用递归
 */

public class 分配口罩 {
	static int min=1000000000;
	static int [] arr= {9090400,8499400,5926800,8547000,4958200,4422600,5751200,4175600,
			6309600,5865200,6604400,4635000,10663400,8087200,4554000};
	public static void main(String[] args) {
		dfs(0, 0, 0);
		System.out.println(min);

		
	}
	public static void dfs(int a, int b,int num) {		
		if (num==arr.length) {
			min=Math.min(min,Math.abs(a-b) );
		}else {
			dfs(a+arr[num], b, num+1);
			dfs(a, b+arr[num], num+1);
		}
		
	}

}
